package com.tdam2013.grupo12.adapters;

import java.util.ArrayList;
import java.util.List;

import com.tdam2013.grupo12.ContactoSeleccionado;
import com.tdam2013.grupo12.R;
import com.tdam2013.grupo12.R.id;
import com.tdam2013.grupo12.R.layout;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.TextView;

public class InfoContactoTelAdapter extends BaseAdapter{

	ContactoSeleccionado context;
	String telefono;
	ArrayList<String> telefonos;
	private LayoutInflater inflater;
	public InfoContactoTelAdapter(Context c) {
		context = (ContactoSeleccionado) c;
		telefonos = new ArrayList<String>();
		inflater = LayoutInflater.from(c);
	}

	public void addTelefono(String telefono) {
		if (telefono != null) {
			telefonos.add(telefono);
		}
	}
	
	@Override
	public int getCount() {
		return telefonos.size();
	}
	@Override
	public Object getItem(int position) {
		return telefonos.get(position);
	}

	@Override
	public long getItemId(int position) {
		return position;
	}
	private class TelefonoHolder {
	       TextView txtTelefono;
	       ImageButton botonLlamada;
	       ImageButton botonMensaje;
	   }
	
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		TelefonoHolder holder = null;
	       telefono = (String) this.getItem(position);
	       final int pos = position;
	       LayoutInflater mInflater = (LayoutInflater) context
	               .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
	       if (convertView == null) {
	           convertView = mInflater.inflate(R.layout.activity_item_telefono_contacto, null);
	           holder = new TelefonoHolder();
	           holder.txtTelefono = (TextView) convertView.findViewById(R.id.telefono);
	           holder.botonLlamada = (ImageButton) convertView.findViewById(R.id.botonTelefono);
	           holder.botonMensaje = (ImageButton) convertView.findViewById(R.id.botonMail);
	           convertView.setTag(holder);
	       } else
	           holder = (TelefonoHolder) convertView.getTag();

	       holder.txtTelefono.setText(telefono);
	       holder.txtTelefono.setOnClickListener(new OnClickListener() {
	    	   @Override
	           public void onClick(View v) {
	    		   Intent i = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+telefonos.get(pos)));
		        	context.setTelefono(telefonos.get(pos));
		        	context.startActivityForResult(i, 2233);
	           }
	       });
	       holder.botonLlamada.setOnClickListener(new OnClickListener() {
	    	   @Override
	           public void onClick(View v) {
	        	Intent i = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+telefonos.get(pos)));
	        	context.setTelefono(telefonos.get(pos));
	        	context.startActivityForResult(i, 2233);
	           }
	       });
	       holder.botonMensaje.setOnClickListener(new OnClickListener() {
	    	   @Override
	           public void onClick(View v) {
	    		   Intent intent = new Intent(Intent.ACTION_SENDTO);
	    		    intent.setData(Uri.parse("smsto:"+telefonos.get(pos)));  
	    		    if (intent.resolveActivity(context.getPackageManager()) != null) {
	    		        context.startActivity(intent);
	    		    }
	           }
	       });
	       return convertView;
	}

}
